<?php

namespace AdminPanel\NewsBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use AdminPanel\ContentConfigBundle\Repository\ContentCategoryRepository;

/**
 * News
 */
class News
{
    /**
     * @var integer
     */
    public $id;

    /**
     * @var integer
     */
    public $categoryId;

    /**
     * @var string
     */
    public $newsTitle;

    /**
     * @var string
     */
    public $newsBody;

    /**
     * @var string
     */
    public $imgThumb;

    /**
     * @var string
     */
    public $imgLarge;

    /**
     * @var boolean
     */
    public $isSpecial;

    /**
     * @var boolean
     */
    public $isActive;

    /**
     * @var \DateTime
     */
    public $targetDate;

    /**
     * @var \DateTime
     */
    public $createdAt;

    /**
     * @var integer
     */
    public $createdUserId;

    /**
     * @var \DateTime
     */
    public $updatedAt;

    /**
     * @var integer
     */
    public $updatedId;

    /**
     * @var string
     */
    public $updatedUserIp;


    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set categoryId
     *
     * @param integer $categoryId
     * @return News
     */
    public function setCategoryId($categoryId)
    {
        $this->categoryId = $categoryId;
    
        return $this;
    }

    /**
     * Get categoryId
     *
     * @return integer 
     */
    public function getCategoryId()
    {
        return $this->categoryId;
    }

    /**
     * Set newsTitle
     *
     * @param string $newsTitle
     * @return News
     */
    public function setNewsTitle($newsTitle)
    {
        $this->newsTitle = $newsTitle;
    
        return $this;
    }

    /**
     * Get newsTitle
     *
     * @return string 
     */
    public function getNewsTitle()
    {
        return $this->newsTitle;
    }

    /**
     * Set newsBody
     *
     * @param string $newsBody
     * @return News
     */
    public function setNewsBody($newsBody)
    {
        $this->newsBody = $newsBody;
    
        return $this;
    }

    /**
     * Get newsBody
     *
     * @return string 
     */
    public function getNewsBody()
    {
        return $this->newsBody;
    }

    /**
     * Set imgThumb
     *
     * @param string $imgThumb
     * @return News
     */
    public function setImgThumb($imgThumb)
    {
        $this->imgThumb = $imgThumb;
    
        return $this;
    }

    /**
     * Get imgThumb
     *
     * @return string 
     */
    public function getImgThumb()
    {
        return $this->imgThumb;
    }

    /**
     * Set imgLarge
     *
     * @param string $imgLarge
     * @return News
     */
    public function setImgLarge($imgLarge)
    {
        $this->imgLarge = $imgLarge;
    
        return $this;
    }

    /**
     * Get imgLarge
     *
     * @return string 
     */
    public function getImgLarge()
    {
        return $this->imgLarge;
    }

    /**
     * Set isSpecial
     *
     * @param boolean $isSpecial
     * @return News
     */
    public function setIsSpecial($isSpecial)
    {
        $this->isSpecial = $isSpecial;
    
        return $this;
    }

    /**
     * Get isSpecial
     *
     * @return boolean 
     */
    public function getIsSpecial()
    {
        return $this->isSpecial;
    }

    /**
     * Set isActive
     *
     * @param boolean $isActive
     * @return News
     */
    public function setIsActive($isActive)
    {
        $this->isActive = $isActive;
    
        return $this;
    }

    /**
     * Get isActive
     *
     * @return boolean 
     */
    public function getIsActive()
    {
        return $this->isActive;
    }

    /**
     * Set targetDate
     *
     * @param \DateTime $targetDate
     * @return News
     */
    public function setTargetDate($targetDate)
    {
        $this->targetDate = $targetDate;
    
        return $this;
    }

    /**
     * Get targetDate
     *
     * @return \DateTime 
     */
    public function getTargetDate()
    {
        return $this->targetDate;
    }

    /**
     * Set createdAt
     *
     * @param \DateTime $createdAt
     * @return News
     */
    public function setCreatedAt($createdAt)
    {
        $this->createdAt = $createdAt;
    
        return $this;
    }

    /**
     * Get createdAt
     *
     * @return \DateTime 
     */
    public function getCreatedAt()
    {
        return $this->createdAt;
    }

    /**
     * Set createdUserId
     *
     * @param integer $createdUserId
     * @return News
     */
    public function setCreatedUserId($createdUserId)
    {
        $this->createdUserId = $createdUserId;
    
        return $this;
    }

    /**
     * Get createdUserId
     *
     * @return integer 
     */
    public function getCreatedUserId()
    {
        return $this->createdUserId;
    }

    /**
     * Set updatedAt
     *
     * @param \DateTime $updatedAt
     * @return News
     */
    public function setUpdatedAt($updatedAt)
    {
        $this->updatedAt = $updatedAt;
    
        return $this;
    }

    /**
     * Get updatedAt
     *
     * @return \DateTime 
     */
    public function getUpdatedAt()
    {
        return $this->updatedAt;
    }

    /**
     * Set updatedId
     *
     * @param integer $updatedId
     * @return News
     */
    public function setUpdatedId($updatedId)
    {
        $this->updatedId = $updatedId;
    
        return $this;
    }

    /**
     * Get updatedId
     *
     * @return integer 
     */
    public function getUpdatedId()
    {
        return $this->updatedId;
    }

    /**
     * Set updatedUserIp
     *
     * @param string $updatedUserIp
     * @return News
     */
    public function setUpdatedUserIp($updatedUserIp)
    {
        $this->updatedUserIp = $updatedUserIp;
    
        return $this;
    }

    /**
     * Get updatedUserIp
     *
     * @return string 
     */
    public function getUpdatedUserIp()
    {
        return $this->updatedUserIp;
    }
    
    /* ADDITIONAL *******************************************************/
        
    public static function getContentCategoryList($em)
    {
      $contenCategoryArray = ContentCategoryRepository::getContentCategoryForList($em);      
      return $contenCategoryArray;
    }

    public static function getContentCategoryListValues($em)
    {
      return self::getContentCategoryList($em);
    }
    
}
